Method of selecting a profile of a digital subscriber line

ABSTRACT

The application discloses a system and a method of selecting a profile of a digital subscriber line. In a particular embodiment, the method includes determining a number of code violations of the digital subscriber line; determining a first estimated data packet throughput value associated with a first profile based on the number of code violations; determining a second estimated data packet throughput value associated with a second profile based on the number of code violations; and selecting a profile to be applied to the digital subscriber line based on a comparison of the first estimated data packet throughput value and the second estimated data packet throughput value.

FIELD OF THE DISCLOSURE

The present disclosure is related to a control system and methods ofselecting profiles for digital subscriber loop (DSL) lines.

BACKGROUND OF THE INVENTION

The traditional process for making asynchronous digital subscriber line(ADSL) performance adjustments is based on measurements of lineperformance parameters, such as signal noise margin and relativecapacity. These line performance parameters do not directly measure theactual data transfer rate provided by an ADSL connection. Further, lineperformance adjustments are typically made using a manual process thatdepends on a particular technician's preferences, experience, andjudgment. This manual process often leads to inaccurate performanceadjustments and is typically error-prone. Even after an ADSL line hasbeen adjusted, the actual data transfer performance of the ADSL line maybe better, the same, or may be worse since the customer experience anddata transfer rates are not directly measured or calculated during theadjustment process.

Accordingly, there is a need for an improved method and system ofadjusting DSL line performance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a DSL control system.

FIG. 2 is a flow chart that illustrates an embodiment of a method ofselecting a profile of a DSL line.

FIGS. 3-6 are general diagrams that illustrate graphical displays thatmay be provided to a user of the system of FIG. 1 in connection with DSLprofile selection.

DETAILED DESCRIPTION OF THE DRAWINGS

The disclosure presents an ADSL line performance adjustment method andsystem that measures and responds to profile performance parameters,such as code violations, signal noise margin and relative capacity.

An ADSL user's experience is determined by the level of TCP/IP datapacket throughput the user receives. When an ADSL line's conditiondegrades due to lowered signal noise margin (SNM), increased impulsenoise, increased interference, or other adverse conditions, the line mayexperience dramatic increases of code violations, which means dataintegrity has been violated. The code violations, if unable to becorrected by the forward error correction (FEC) of the ADSL codingalgorithm, result in TCP/IP packet re-transmission. The TCP/IPre-transmissions in turn lowers overall TCP/IP throughput.

If an ADSL line experiences a high degree of code violations, it mightneed to be moved to a lower speed profile that is more resistant tonoise, or moved to an interleaved channel profile (if it is currentlyrunning at a fast channel profile) where the interleaving providessuperior error correction ability. The line's code violation count canbe greatly reduced with an appropriate new line profile. But, a lowerspeed profile or interleaved channel profile results in lower linespeed. (In the case of interleaved channel profiles, lowered speed isthe result of the delay that comes from frame scrambling and buffering).Therefore, whether or not a troubled line needs a new profile and whichnew profile should be selected depends on the line profile that canachieve higher TCP/IP throughput (current profile with higher line speedand higher code violations or lower speed profile or an interleavedchannel profile with lower code violations).

The present disclosure provides a method that can be used to determinewhen a line should be moved to a different profile in order to increaseits TCP/IP throughput. The disclosed system and method is useful fortypical user web browsing, since the throughput of various TCP/IPapplications is affected differently by code violations.

Referring to FIG. 1, a system that may be used to select profiles and toadjust digital subscriber line performance is shown. The system includesa controller 100, a DSL code violation measurement unit 102, a profiledatabase 106, and a data packet throughput storage module 108. Thecontroller 100 is also coupled, either directly or remotely, to aterminal device 104 that includes a display 130. The DSL code violationmeasurement unit 102 is responsive to and takes measurements of DSLlines 110. The controller 100 includes a processor 120 and a memory 122.The memory includes a profile selection software routine that may beexecuted by the processor 120. The controller 100 is coupled to theprofile database 106, the data packet throughput measurement unit 108,and the DSL code violation measurement unit 102. The controller 100receives DSL profiles 140 from the profile database 106, and receivesdata packet throughput data 142 from the data packet throughput dataunit 108. The controller 100 receives code violation data 144 from theDSL code violation measurement unit 102. The controller 100 providesreports, including graphical displays and charts, on the display 130 ofthe terminal device 104. In a particular embodiment, the terminal device104 is a remote device that includes a web browser interface and iscoupled to the controller via a distributed data network.

Referring to FIG. 2, an illustrative method of selecting a profile to beapplied to a DSL line is shown. At step 202, the method includes thestep of determining a number of code violations of the digitalsubscriber line. A first estimated data packet throughput valueassociated with a first profile based on the number of code violationsis determined, at 204, and a second estimated data packet throughputvalue associated with a second profile based on the number of codeviolations is determined, at step 206. A profile to be applied to thedigital subscriber line is selected, at step 208. The profile selectedis based on a comparison of the first estimated data packet throughputvalue and the second estimated data packet throughput value. Forexample, the profile that has the highest estimated data packetthroughput value may be selected. An example of a data packet throughputvalue is a TCP/IP throughput value. After the profile is selected, theselected profile may be applied to the DSL line, at step 210.

As shown at step 212, the illustrated method steps 202-210 mayoptionally be repeated for a plurality of different DSL lines. In asample network, there may a vast number of DSL lines, and a selectedprofile may be determined for each of the DSL lines. The above describedmethod may be automatically performed using a computer system todetermine a selected profile that provides the highest TCP/IP throughputvalue. The TCP/IP throughput value estimates are based on code violationcounts and these estimates and estimate curves are determined based onlaboratory test data. In this manner, an automated system and method hasbeen described to provide for increased TCP/IP packet transferperformance over an entire network of DSL lines. An example of anautomated system is to use the system of FIG. 1 where the profileselection routine 124 within the controller 100 is a computer programthat performs the operational steps and computations illustrated in FIG.2.

The TCP/IP packet transfer rate is useful since this data packet rate istied to the performance experienced by the end customers. For example,the transfer rate provides the speed that a given website is displayedand downloaded onto an end DSL subscriber's computer while thatsubscriber is surfing the internet.

Referring to FIGS. 3-6, a plurality of graphical displays 300, 400, 500,and 600 are shown. Each of the graphical displays shows a graphicalchart that may be provided on the display 130 of the terminal device104. Each of the graphical displays include a first display curve for afirst profile, a second display curve for a second profile, and a thirddisplay curve for a third display profile. Each display curve is formedfrom a plurality of TCP/IP throughput data points at a particular numberof measured code violations for a particular DSL line. For example, thefirst display curve referenced in FIG. 3 is a fast speed profile at atransmission speed of 1536 kbits per second. The second profilereferenced in FIG. 3 is an interleaved channel profile also at 1536kbits per second. The third display curve is a fast speed profile at thereduced speed of 768 kbits per second. As the number of code violationsincrease, such as due to increased DSL line noise, the preferred profilechanges from the first display curve to the second display curve at anintersection point between data points 315 and 661, at a noise level ofabout 58 millivolts, as shown in FIG. 3. The number of code violationscorresponds to the magnitude of noise that is injected into a particularDSL line.

The first curve has a second intersection point with the third curve ata higher level of noise/code violations. As shown in FIG. 3, the secondintersection point is between the data point at 661 and the data pointof 2309 code violations, at about 60.4 millivolts of noise. Thus, forthe particular example shown in FIG. 3, the disclosed profile selectionmethod would select the first profile (with the first profile displaycurve) for code violation measured readings of 0, 44, 130, and 315 andwould select the second profile (with the second profile display curve)at the code violation reading of 661. The third profile would beselected for increased noise leading to code violations above the pointof intersection between the 768 curve and the 1536 fast curve, atapproximately 2000 code violations. The number of code violations shownis the count of detected code violations accumulated during a timeperiod of fifteen minutes. Other time periods may be used such asintervals of 30 minutes or hourly. In addition to the fixed data pointsshown, the curves can be prorated and intersection points extrapolatedto make profile selections. For example, for a DSL line with a fast(i.e. non-interleaved) speed of 1536 kbits per second (kb/s), when thisline experiences more than about 450 code violations every 15 minutes,the line should be switched to the 1536 kbits per second interleavedprofile.

Referring to FIG. 4, a TCP/IP throughput vs. Code Violations for impulsenoise graphical display is shown for a DSL line that starts with a 768(kb/s) fast speed profile. This diagram shows profile selectiontransition points between the 768 kb/s interleaved profile and the 384fast (i.e. non-interleaved) profile. FIG. 5 shows a similar chart for384 kb/s and 192 kb/s profiles, and FIG. 6 shows a similar chart for a192 kb/s and a 192 kb/s interleaved profile.

Unlike traditional ADSL optimization, which is based solely on lineperformance parameters such as code violations, signal noise margin andrelative capacity, the method presented is based on both TCP/IPthroughput and ADSL layer parameters. The method and system presented isbased on experimental results of lab testing, while traditional ADSLoptimization relies on individual service technicians' preferences.

The method and system disclosed produces clear criteria to determinewhen a line should be switched to another profile, and provides betterTCP/IP throughput and therefore, better user experience. Since thismethod is based on TCP/IP throughput, ADSL users can determine how muchfaster they can download a file after switching to another profile.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present invention. Thus, to the maximumextent allowed by law, the scope of the present invention is to bedetermined by the broadest permissible interpretation of the followingclaims and their equivalents, and shall not be restricted or limited bythe foregoing detailed description.

1. A method of selecting a profile of a digital subscriber line, themethod comprising: determining, at a digital subscriber line controlsystem, a number of code violations of the digital subscriber line bymeasuring a count of data transmission anomalies associated with datatransmitted over the digital subscriber line during a measurement timeperiod while the digital subscriber line is in operation, the datatransmission anomalies including at least two of a signal to noisecharacteristic, an impulse noise characteristic, an interferencecharacteristic, a bipolar violation, an excessive zeros error event, anda frame synchronization bit error; determining a first data packetthroughput value of the digital subscriber line using a first profilebased on the number of code violations, the first profile including afirst transmission speed associated with the digital subscriber line;determining a second data packet throughput value of the digitalsubscriber line using a second profile based on the number of codeviolations, the second profile including a second transmission speedassociated with the digital subscriber line; and selecting, from thefirst profile and the second profile, a profile that has a higher datapacket throughput value, wherein the first data packet throughput valueis greater than the second data packet throughput value when the numberof code violations is less than a threshold, and wherein the first datapacket throughput value is less than the second data packet throughputvalue when the number of code violations is greater than the threshold.2. The method of claim 1, further comprising applying the selectedprofile to the digital subscriber line.
 3. The method of claim 1,further comprising determining a third data packet throughput valueassociated with a third profile based on the number of code violations.4. The method of claim 1, further comprising determining a plurality ofdata packet throughput values associated with a plurality of profilesbased on the number of code violations and wherein a first set of theplurality of profiles corresponds to a first data line transmissionspeed and a second set of the plurality of profiles corresponds to asecond data line transmission speed.
 5. The method of claim 4, wherein athird set of profiles corresponds to a third data line transmissionspeed, and wherein the first data line transmission speed is 1536 kbitsper second, the second data line transmission speed is 768 kbits persecond, and the third data line transmission speed is 384 kbits persecond.
 6. The method of claim 4, wherein at least one of the first setof the plurality of profiles is an interleaved profile and another ofthe first set of the plurality of profiles is a non-interleaved profile.7. The method of claim 1, further comprising generating a graphicaldisplay that illustrates the first data packet throughput value, thesecond data packet throughput value, and the number of code violations.8. The method of claim 7, wherein the graphical display illustrates afirst set of data packet throughput points for the first profile and asecond set of data packet throughput points for the second profile. 9.The method of claim 8, wherein the first set of data packet throughputpoints form a first display curve, the second set of data packetthroughput points form a second display curve, and wherein the firstdisplay curve and the second display curve are displayed in a manner toallow selection of a profile having a highest data packet throughput fora selected number of code violations.
 10. The method of claim 9, whereinthe selected number of code violations is correlated with a level ofnoise present on the digital subscriber line.
 11. The method of claim 1,wherein the number of code violations is measured during a selected timeperiod.
 12. The method of claim 11, wherein the selected time period isless than thirty minutes.
 13. The method of claim 1, wherein the firstdata packet throughput value and the second data packet throughput valueinclude TCP/IP throughput values.
 14. The method of claim 1, furthercomprising switching from a previously applied profile to the selectedprofile on the digital subscriber line.
 15. The method of claim 1,wherein the count of data transmission anomalies occurs while data istransmitted over the digital subscriber line at a data rate of at least384 kb/sec.
 16. The method of claim 1, wherein the count of datatransmission anomalies occurs while data is transmitted over the digitalsubscriber line at a data rate of at least 768 kb/sec.
 17. A digitalsubscriber line control system comprising: a controller including memoryand a processor; a profile database to store a plurality of profilesincluding a first profile and a second profile, wherein the firstprofile includes a first transmission speed associated with a digitalsubscriber line and the second profile includes a second transmissionspeed associated with the digital subscriber line; a code violationmeasurement unit to determine a number of code violations of the digitalsubscriber line by measuring a count of data transmission anomaliesassociated with data transmitted over the digital subscriber line duringa measurement time period while the digital subscriber line is inoperation, the data transmission anomalies including at least two of asignal to noise characteristic, an impulse noise characteristic, aninterference characteristic, a bipolar violation, an excessive zeroserror event, and a frame synchronization bit error; the code violationmeasurement unit further operable to determine a first data packetthroughput value of the digital subscriber line using the first profilebased on the number of code violations, to determine a second datapacket throughput value of the digital subscriber line using the secondprofile based on the number of code violations, wherein the first datapacket throughput value is greater than the second data packetthroughput value when the number of code violations is less than athreshold, and wherein the first data packet throughput value is lessthan the second data packet throughput value when the number of codeviolations is greater than the threshold; and a terminal deviceresponsive to the controller, the terminal device configured to displaya graphical report, the graphical report including a first profile curveillustrating code violation data for the first profile and a secondprofile curve illustrating code violation data for the second profile;wherein the controller selects from the first profile and the secondprofile a profile that has a higher data packet throughput value. 18.The digital subscriber line control system of claim 17, wherein thefirst profile curve intersects the second profile curve.